Mobile Computing enables users to connect to the internet, providing wireless transmission to access data and information from where ever location they may be. Mobile computing broadly comprises of three areas: mobile communication, mobile hardware, and mobile software. The first area addresses communication issues in ad-hoc and infrastructure networks as well as communication properties, protocols, data formats and concrete technologies. The second area is on the hardware, e.g., mobile devices or device components. The third area deals with the characteristics and requirements of mobile applications.
Mobile application development is the process by which application software is developed for mobile devices such as personal digital assistants, enterprise digital assistants, mobile phones, tablets and so on. These applications are either pre-installed on mobile devices during manufacture, downloaded by users from various mobile software distribution platforms, or web applications delivered over HTTP which use server-side or client-side processing (e.g. JavaScript) to provide an “application-like” experience within a Web browser.
In the recent past, the development of mobile services was mostly controlled and managed by the mobile network operators (MNO), phone manufacturers, mobile application and content providers. Recently, this has changed with the arrival of new mobile devices and platforms. Development of mobile applications has generated more interest among the independent and freelance developers. The constant improvement of hardware related to mobile computing (e.g., better computing power, larger wireless network bandwidth) clearly enhances capabilities of mobile devices. The potential of the mobile application market is seen to reach $9 billion by 2011.
Mobile Application Management (MAM) describes software and services that accelerate and simplify the creation of internally-developed or “in-house” enterprise mobile applications. It also describes the deployment and management of in-house and commercially available mobile apps used in business settings on both company-provided and “bring your own” devices.
In spite of the continuous development, mobile applications still seem to have some disadvantages such as re-installing mobile applications on the mobile device each time an application is changed or when new applications are added. Further, some applications are capable of working in only online mode and are unable to run natively on the mobile device and disallows usage of the mobile device's functionalities in offline mode.
In an existing method of mobile application development, enterprise data is accessed from one or more data sources, wherein such data sources may comprise structured and unstructured data sources. The data is transferred from the enterprise to a plurality of mobile devices over a plurality of diverse networks. In an embodiment, such transfer takes into consideration characteristics of the diverse networks which are present in the path between the enterprise and the mobile device. The enterprise receives data generated by mobile devices while performing enterprise-related operations at the wireless edge. The enterprise responds to environmental changes using the received data. Limitations of the above existing method are that the user interface cannot be delivered to the client without deployment of application logic and is unable to adapt the mobile user interface for different architectures.
In another existing method for mobile computing, a single integrated Development Environment (IDE) for mobile devices is present. A flexible runtime architecture is provided that enables developers to construct user-interface using run-time technology that suits their needs. Using the Programming Interface (PI) mechanism, application servers can publish information about their program version or server load. In a manner transparent for the users, the mobile device can then update its UI description if an application's PI indicates that a new version has been deployed. Or, if multiple instances of the same application are available keep the bandwidth requirements low. The disadvantages of this method are that it requires an installation upgrade at the mobile device side, once the application is upgraded with user intervention. This takes time, effort and costs from both the application provider and the user end.
In another existing method for mobile computing, products services can be efficiently delivered to a large number of clients, using mobile Internet access technologies. The users using their mobile devices can have access to e-services, anywhere and anytime, with the support of 3G, GPRS, WLAN, etc., channels bandwidth, data services and protocols. Based on the mobile communications networks evolution and development, a convergence of technological and financial interest's mobile operators, software developers, mobile terminals producers and e-content providers is established. These will lead to a high level integration of IT&C resources and will facilitate the value added services delivery through the mobile communications networks. The disadvantages of this method are that the application is unable to exploit full device capabilities (say, camera, Bluetooth and so on), cannot leverage device level security, requires high data bandwidth and typically requires a continuous data connection to function effectively.